package cn.com.bod.fas.common.exception;

import cn.com.bod.fas.common.constant.enumconst.ResultCodeEnum;

/**
 * @description 公共基础业务异常 
 * @author chenyuanxian
 * @date 2019年9月15日 下午7:30:43
 * @version 1.0.0
 * @Copyright (c) scfhdt
 */

public class BaseException extends RuntimeException {  
    
    /**
	 * @description 序列化版本号
	 * @author chenyuanxian
	 * @date 2019年9月21日 下午10:41:14
	 */
	private static final long serialVersionUID = 5399579721201284309L;

	/**
     * 错误码.
     */   
    protected Integer code;
    
    /**
     * 错误码枚举值
     */
    protected ResultCodeEnum resultCodeEnum;

    
    /**
     * @description 根据错误码构建公共基础业务异常.
     * @author chenyuanxian
     * @date 2019年9月15日 下午7:41:12
     * @param resultCodeEnum 错误码
     */
    public BaseException(ResultCodeEnum resultCodeEnum) {
        super(resultCodeEnum.getMsg());
        this.code = resultCodeEnum.getCode();
        this.resultCodeEnum = resultCodeEnum;
    }
    
    /**
     * @description 获取错误码
     * @author chenyuanxian
     * @date 2019年9月21日 下午10:45:10
     * @return 错误码
     */
    public Integer getCode() {
        return code;
    }
    
    /**
     * @description 获取错误码枚举值 
     * @author chenyuanxian
     * @date 2019年9月21日 下午10:46:03
     * @return 错误码枚举值
     */
    public ResultCodeEnum getResultCodeEnum() {
    	return resultCodeEnum;
    }

}
